# 字典推导式

# 把宇典中的键值对位置进行交换 {'a': 1, 'b': 2, 'c': 3}
vard = {'a': 1, 'b': 2, 'c': 3}
newvard = {}
# 普通方法实现字典中的键值交换
for k, v in vard.items():
    newvard[v] = k

print(newvard)
# {1: 'a', 2: 'b', 3: 'c'}

# 使用字典推导式完成
newvard = {v: k for k, v in vard.items()}
print(newvard)
# {1: 'a', 2: 'b', 3: 'c'}

# 如果只有一个v 形成的是一个集合(set)
newvard = {v for k, v in vard.items()}
print(newvard, type(newvard))
# {1, 2, 3} <class 'set'>

# 把以下字典中值是偶数的键值对，保留下来，并且交换键值对的位置
vard = {'a': 1, 'b': 2, 'c': 3, 'd': 4}

newvard = {v: k for k, v in vard.items() if v % 2 == 0}
print(newvard)
# {2: 'b', 4: 'd'}

